import { defineStore } from 'pinia'
import { ref } from 'vue'

// 创建 store
export const useChatStore = defineStore('chat', () => {

    // 选中的模型，默认为空
    const selectedModel = ref(null)

    // 联网搜索状态，默认为false
    const isNetworkSearchSelected = ref(false)

    // 深度思考状态，默认为false
    const isThinkSelected = ref(false)

    // 选中的模型（需要组件传递models来查找）
    const getSelectedModel = (models) => {
        if (!selectedModel.value) {
            // 如果没有选中的模型，则默认选择第一个模型
            updateSelectedModel(models[0])
            return models[0]
        }
        return selectedModel.value
    }

    // 更新选中的模型
    function updateSelectedModel(model) {
        // 更新当前选中的模型
        selectedModel.value = model;
    }

    // 更新联网搜索状态
    function updateNetworkSearchStatus(status) {
        isNetworkSearchSelected.value = status
    }

    // 更新深度思考状态
    function updateThinkStatus(status) {
        isThinkSelected.value = status
    }

    // 对外暴露相关变量与方法
    return {selectedModel, isNetworkSearchSelected, isThinkSelected, getSelectedModel ,updateSelectedModel, updateNetworkSearchStatus, updateThinkStatus }
},
{
    // 开启持久化
    persist: true
})